<!DOCTYPE html>
<html class="client-nojs vector-feature-night-mode-disabled vector-feature-language-in-header-enabled vector-feature-language-in-main-page-header-disabled vector-feature-page-tools-pinned-disabled vector-feature-toc-pinned-clientpref-1 vector-feature-main-menu-pinned-disabled vector-feature-limited-width-clientpref-1 vector-feature-limited-width-content-enabled vector-feature-custom-font-size-clientpref-1 vector-feature-appearance-pinned-clientpref-1 vector-sticky-header-enabled" lang="en" dir="ltr"><head>
<meta charset="UTF-8">
<title>Reference architecture</title>
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<link rel="canonical" href="https://en.wikipedia.org/wiki/Reference_architecture"> <link href="./mw/ext.cite.styles.css" rel="stylesheet" type="text/css">
<link href="./mw/skins.vector.icons.css" rel="stylesheet" type="text/css">
<link href="./mw/skins.vector.search.codex.styles.css" rel="stylesheet" type="text/css">
<link href="./mw/skins.vector.styles.css" rel="stylesheet" type="text/css">
<link href="./mw/user.styles.css" rel="stylesheet" type="text/css">
<meta name="ResourceLoaderDynamicStyles" content="">
<link rel="stylesheet" type="text/css" href="./mw/site.styles.css">
<link rel="stylesheet" type="text/css" href="./mw/noscript.css">
<link rel="stylesheet" type="text/css" href="./footer.css">
<link rel="stylesheet" type="text/css" href="./vector-2022.css">
</head>
<body class="skin--responsive skin-vector skin-vector-search-vue mediawiki ltr sitedir-ltr mw-hide-empty-elt ns-0 ns-subject page-Reference_architecture rootpage-Reference_architecture skin-vector-2022 action-view">
<div class="mw-page-container">
<div class="mw-page-container-inner">
<div class="mw-content-container">
<main id="content" class="mw-body">
<header class="mw-body-header vector-page-titlebar">
<h1 id="firstHeading" class="firstHeading mw-first-heading">
<span id="openzim-page-title" class="mw-page-title-main"><span class="mw-page-title-main">Reference architecture</span></span>
</h1>
</header>
<a id="top"></a>
<div id="bodyContent" class="vector-body ve-init-mw-desktopArticleTarget-targetContainer" aria-labelledby="firstHeading" data-mw-ve-target-container="">
<div id="mw-content-text" class="mw-body-content mw-content-ltr" lang="en" dir="ltr"><div class="mw-content-ltr mw-parser-output" lang="en" dir="ltr">
<p>A <b>reference architecture</b> in the field of <a href="Software_architecture" title="Software architecture">software architecture</a> or <a href="Enterprise_architecture" title="Enterprise architecture">enterprise architecture</a> provides a template solution for an architecture for a particular domain. It also provides a common vocabulary with which to discuss <a href="Reference_implementation" title="Reference implementation">implementations</a>, often with the aim to stress commonality. A <b>software reference architecture</b> is a <a href="Software_architecture" title="Software architecture">software architecture</a><sup id="cite_ref-DSA2_1-0" class="reference"><a href="#cite_note-DSA2-1"><span class="cite-bracket">[</span>1<span class="cite-bracket">]</span></a></sup> where the structures and respective elements and relations provide templates for concrete architectures in a particular domain or in a family of <a href="Software_system" title="Software system">software systems</a>.
</p><p>An implementation of a reference architecture is called a <a href="Application_framework" title="Application framework">framework</a> or an <a href="Application_platform" class="mw-redirect" title="Application platform">application platform</a>.
</p><p>A reference architecture often consists of a list of <a href="Subroutine" class="mw-redirect" title="Subroutine">functions</a> and some indication of their <a href="Software_interface" class="mw-redirect" title="Software interface">interfaces</a> (or <a href="API" title="API">APIs</a>) and interactions with each other and with functions located outside of the scope of the reference architecture.
</p><p>Reference architectures can be defined at different levels of abstraction. A highly abstract one might show different pieces of equipment on a <a href="Communications_network" class="mw-redirect" title="Communications network">communications network</a>, each providing different functions. A lower level one might demonstrate the interactions of <a href="Procedure_(computer_science)" class="mw-redirect" title="Procedure (computer science)">procedures</a> (or <a href="Method_(computer_science)" class="mw-redirect" title="Method (computer science)">methods</a>) within a computer program defined to perform a very specific task.
</p><p>A reference architecture provides a template, often based on the generalization of a set of solutions. These solutions may have been generalized and structured for the depiction of one or more architecture structures based on the harvesting of a set of patterns that have been observed in a number of successful implementations. Further it shows how to compose these parts together into a solution. Reference Architectures will be instantiated for a particular domain or for specific projects.
</p><p>Adopting a reference architecture within an organization accelerates delivery through the re-use of an effective solution and provides a basis for governance to ensure the consistency and applicability of technology use within an organization. In the field of software architecture, many empirical studies have shown the following common benefits and drawbacks from adopting a software reference architecture within organizations: (a) improvement of the <a href="Interoperability" title="Interoperability">interoperability</a> of the software systems by establishing a standard solution and common mechanisms for <a href="Information_exchange" title="Information exchange">information exchange</a>; (b) reduction of the development costs of <a href="Software_project" class="mw-redirect" title="Software project">software projects</a> through the reuse of common assets; (c) improvement of the communication inside the organization because stakeholders share the same architectural mindset; and, (d) influencing the <a href="Learning_curve" title="Learning curve">learning curve</a> of <a href="Software_developer" class="mw-redirect" title="Software developer">developers</a> due to the need of learning its features.<sup id="cite_ref-2" class="reference"><a href="#cite_note-2"><span class="cite-bracket">[</span>2<span class="cite-bracket">]</span></a></sup>
</p>
<div class="mw-heading mw-heading2"><h2 id="Examples">Examples</h2></div>
<ul><li>The <a href="Java_Platform%2C_Enterprise_Edition" class="mw-redirect" title="Java Platform, Enterprise Edition">Java Platform, Enterprise Edition</a> (<a href="Java_EE" class="mw-redirect" title="Java EE">Java EE</a>) architecture is a layered reference architecture which provides a template solution for many enterprise systems developed in Java. Examples of implementing frameworks include <a href="GlassFish" title="GlassFish">Glassfish</a> and <a href="Wildfly" class="mw-redirect" title="Wildfly">Wildfly</a>.</li>
<li>The IBM Insurance Application Architecture<sup id="cite_ref-3" class="reference"><a href="#cite_note-3"><span class="cite-bracket">[</span>3<span class="cite-bracket">]</span></a></sup> is a reference architecture for the Insurance domain.</li>
<li><a href="AUTOSAR" title="AUTOSAR">AUTOSAR</a> is a <a href="Component-based_software_engineering" title="Component-based software engineering">component-based</a> reference architecture for safety-critical and automotive software <a rel="nofollow" class="external text" href="https://www.autosar.org/">Automative Open System Architecture</a>.</li>
<li>Eclipse Microprofile as a reference architecture for Java-based microservices systems <a rel="nofollow" class="external text" href="https://projects.eclipse.org/projects/technology.microprofile">Eclipse Microprofile</a>.</li>
<li><a href="Eulynx" title="Eulynx">Eulynx</a> is a reference architecture for railway signalling systems.</li>
<li>The Health Enterprise Reference Architecture (HERA), currently under development by <a href="The_Open_Group" title="The Open Group">The Open Group</a>, is a reference architecture for the health care domain<sup id="cite_ref-4" class="reference"><a href="#cite_note-4"><span class="cite-bracket">[</span>4<span class="cite-bracket">]</span></a></sup></li></ul>
<div class="mw-heading mw-heading2"><h2 id="See_also">See also</h2></div>
<ul><li><a href="Business_reference_model" title="Business reference model">Business reference model</a></li>
<li><a href="Enterprise_architecture_framework" title="Enterprise architecture framework">Enterprise architecture framework</a></li>
<li><a href="Generalised_Enterprise_Reference_Architecture_and_Methodology" title="Generalised Enterprise Reference Architecture and Methodology">Generalised Enterprise Reference Architecture and Methodology</a> (GERAM)</li>
<li><a href="Reference_model" title="Reference model">Reference model</a></li></ul>
<div class="mw-heading mw-heading2"><h2 id="References">References</h2></div>
<style data-mw-deduplicate="TemplateStyles:r1239543626">
/* start https://en.wikipedia.org/ */
.mw-parser-output .reflist{margin-bottom:0.5em;list-style-type:decimal}@media screen{.mw-parser-output .reflist{font-size:90%}}.mw-parser-output .reflist .references{font-size:100%;margin-bottom:0;list-style-type:inherit}.mw-parser-output .reflist-columns-2{column-width:30em}.mw-parser-output .reflist-columns-3{column-width:25em}.mw-parser-output .reflist-columns{margin-top:0.3em}.mw-parser-output .reflist-columns ol{margin-top:0}.mw-parser-output .reflist-columns li{page-break-inside:avoid;break-inside:avoid-column}.mw-parser-output .reflist-upper-alpha{list-style-type:upper-alpha}.mw-parser-output .reflist-upper-roman{list-style-type:upper-roman}.mw-parser-output .reflist-lower-alpha{list-style-type:lower-alpha}.mw-parser-output .reflist-lower-greek{list-style-type:lower-greek}.mw-parser-output .reflist-lower-roman{list-style-type:lower-roman}
/* end https://en.wikipedia.org/ */
</style><div class="reflist">
<div class="mw-references-wrap"><ol class="references">
<li id="cite_note-DSA2-1"><span class="mw-cite-backlink"><b><a href="#cite_ref-DSA2_1-0">^</a></b></span> <span class="reference-text">
<style data-mw-deduplicate="TemplateStyles:r1238218222">
/* start https://en.wikipedia.org/ */
.mw-parser-output cite.citation{font-style:inherit;word-wrap:break-word}.mw-parser-output .citation q{quotes:"\"""\"""'""'"}.mw-parser-output .citation:target{background-color:rgba(0,127,255,0.133)}.mw-parser-output .id-lock-free.id-lock-free a{background:url("./mw/Lock-green.svg")right 0.1em center/9px no-repeat}.mw-parser-output .id-lock-limited.id-lock-limited a,.mw-parser-output .id-lock-registration.id-lock-registration a{background:url("./mw/Lock-gray-alt-2.svg")right 0.1em center/9px no-repeat}.mw-parser-output .id-lock-subscription.id-lock-subscription a{background:url("./mw/Lock-red-alt-2.svg")right 0.1em center/9px no-repeat}.mw-parser-output .cs1-ws-icon a{background:url("./mw/Wikisource-logo.svg")right 0.1em center/12px no-repeat}body:not(.skin-timeless):not(.skin-minerva) .mw-parser-output .id-lock-free a,body:not(.skin-timeless):not(.skin-minerva) .mw-parser-output .id-lock-limited a,body:not(.skin-timeless):not(.skin-minerva) .mw-parser-output .id-lock-registration a,body:not(.skin-timeless):not(.skin-minerva) .mw-parser-output .id-lock-subscription a,body:not(.skin-timeless):not(.skin-minerva) .mw-parser-output .cs1-ws-icon a{background-size:contain;padding:0 1em 0 0}.mw-parser-output .cs1-code{color:inherit;background:inherit;border:none;padding:inherit}.mw-parser-output .cs1-hidden-error{display:none;color:var(--color-error,#d33)}.mw-parser-output .cs1-visible-error{color:var(--color-error,#d33)}.mw-parser-output .cs1-maint{display:none;color:#085;margin-left:0.3em}.mw-parser-output .cs1-kern-left{padding-left:0.2em}.mw-parser-output .cs1-kern-right{padding-right:0.2em}.mw-parser-output .citation .mw-selflink{font-weight:inherit}@media screen{.mw-parser-output .cs1-format{font-size:95%}html.skin-theme-clientpref-night .mw-parser-output .cs1-maint{color:#18911f}}@media screen and (prefers-color-scheme:dark){html.skin-theme-clientpref-os .mw-parser-output .cs1-maint{color:#18911f}}
/* end https://en.wikipedia.org/ */
</style><cite id="CITEREFClementsFelix_BachmannLen_BassDavid_Garlan2010" class="citation book cs1">Clements, Paul; Felix Bachmann; <a href="Len_Bass" title="Len Bass">Len Bass</a>; David Garlan; James Ivers; Reed Little; Paulo Merson; Robert Nord; Judith Stafford (2010). <i>Documenting Software Architectures: Views and Beyond, Second Edition</i>. Boston: Addison-Wesley. <a href="ISBN_(identifier)" class="mw-redirect" title="ISBN (identifier)">ISBN</a> <bdi>978-0-321-55268-6</bdi>.</cite></span>
</li>
<li id="cite_note-2"><span class="mw-cite-backlink"><b><a href="#cite_ref-2">^</a></b></span> <span class="reference-text"><cite id="CITEREFMartinez-FernandezMedeiros_Dos_SantosAyalaFranch2015" class="citation book cs1">Martinez-Fernandez, Silverio; Medeiros Dos Santos, Paulo Sergio; Ayala, Claudia P.; Franch, Xavier; Travassos, Guilherme H. (2015). "Aggregating Empirical Evidence about the Benefits and Drawbacks of Software Reference Architectures". <i>2015 ACM/IEEE International Symposium on Empirical Software Engineering and Measurement (ESEM)</i>. pp. <span class="nowrap">1–</span>10. <a href="Doi_(identifier)" class="mw-redirect" title="Doi (identifier)">doi</a>:<a rel="nofollow" class="external text" href="https://doi.org/10.1109%2FESEM.2015.7321184">10.1109/ESEM.2015.7321184</a>. <a href="Hdl_(identifier)" class="mw-redirect" title="Hdl (identifier)">hdl</a>:<a rel="nofollow" class="external text" href="https://hdl.handle.net/2117%2F80457">2117/80457</a>. <a href="ISBN_(identifier)" class="mw-redirect" title="ISBN (identifier)">ISBN</a> <bdi>978-1-4673-7899-4</bdi>. <a href="S2CID_(identifier)" class="mw-redirect" title="S2CID (identifier)">S2CID</a> <a rel="nofollow" class="external text" href="https://api.semanticscholar.org/CorpusID:8252919">8252919</a>.</cite></span>
</li>
<li id="cite_note-3"><span class="mw-cite-backlink"><b><a href="#cite_ref-3">^</a></b></span> <span class="reference-text"><a rel="nofollow" class="external text" href="ftp://ftp.www.ibm.com/software/data/mdm/brochure/industrymodel_insurance.pdf">The IBM Insurance Application Architecture</a></span>
</li>
<li id="cite_note-4"><span class="mw-cite-backlink"><b><a href="#cite_ref-4">^</a></b></span> <span class="reference-text"><a rel="nofollow" class="external text" href="https://publications.opengroup.org/s182">Healthcare Enterprise Reference Architecture (HERA)</a></span>
</li>
</ol></div></div>
<p><br>
</p>
<style data-mw-deduplicate="TemplateStyles:r1271159938">
/* start https://en.wikipedia.org/ */
.mw-parser-output .asbox{position:relative;overflow:hidden}.mw-parser-output .asbox table{background:transparent}.mw-parser-output .asbox p{margin:0}.mw-parser-output .asbox p+p{margin-top:0.25em}.mw-parser-output .asbox-body{font-style:italic}.mw-parser-output .asbox-note{font-size:smaller}.mw-parser-output .asbox .navbar{position:absolute;top:-0.75em;right:1em;display:none}.mw-parser-output :not(p):not(.asbox)+style+.asbox,.mw-parser-output :not(p):not(.asbox)+link+.asbox{margin-top:3em}
/* end https://en.wikipedia.org/ */
</style></div><!--htdig_noindex--><div><div class="zim-footer">
This article is issued from <a class="external text" title="Last edited on 2025-07-14" href="https://en.wikipedia.org/wiki/?title=Reference_architecture&oldid=1300390008">Wikipedia</a>. The text is available under <a class="external text" href="https://creativecommons.org/licenses/by-sa/4.0/deed.en">Creative Commons Attribution-Share Alike 4.0</a> unless otherwise noted. Additional terms may apply for the media files.
</div>
</div><!--/htdig_noindex--></div>
</div>
</main>
</div>
</div>
</div>
</body></html>